<?php
/**
 * 判断是不是为空或者为无效字符
 *
 * @param
 *        	string
 * @return bool
 */
function required( $str )
{
	if ( ! is_array( $str ) )
	{
		return (trim( $str ) == '') ? FALSE : TRUE;
	}
	else
	{
		return (! empty( $str ));
	}
}

// --------------------------------------------------------------------


/**
 * 测试字符是不是匹配正则
 *
 * @param
 *        	string
 * @param
 *        	regex
 * @return bool
 */
function regex_match( $str , $regex )
{
	if ( ! preg_match( $regex , $str ) )
	{
		return FALSE;
	}
	
	return TRUE;
}

// --------------------------------------------------------------------


/**
 * 判断两个字符是不是相等
 *
 * @param
 *        	string
 * @param
 *        	string
 * @return bool
 */
function matches( $str , $str2 )
{
	if ( ! isset( $str2 ) )
	{
		return FALSE;
	}
	return ($str != $str2) ? FALSE : TRUE;
}

// --------------------------------------------------------------------


/**
 * Minimum Length
 *
 * @access public
 * @param
 *        	string
 * @param
 *        	value
 * @return bool
 */
function min_length( $str , $val )
{
	if ( preg_match( "/[^0-9]/" , $val ) )
	{
		return FALSE;
	}
	
	if ( function_exists( 'mb_strlen' ) )
	{
		return (mb_strlen( $str ) < $val) ? FALSE : TRUE;
	}
	
	return (strlen( $str ) < $val) ? FALSE : TRUE;
}

// --------------------------------------------------------------------


/**
 * Max Length
 *
 * @access public
 * @param
 *        	string
 * @param
 *        	value
 * @return bool
 */
function max_length( $str , $val )
{
	if ( preg_match( "/[^0-9]/" , $val ) )
	{
		return FALSE;
	}
	
	if ( function_exists( 'mb_strlen' ) )
	{
		return (mb_strlen( $str ) > $val) ? FALSE : TRUE;
	}
	
	return (strlen( $str ) > $val) ? FALSE : TRUE;
}

// --------------------------------------------------------------------


/**
 * Exact Length
 *
 * @access public
 * @param
 *        	string
 * @param
 *        	value
 * @return bool
 */
function exact_length( $str , $val )
{
	if ( preg_match( "/[^0-9]/" , $val ) )
	{
		return FALSE;
	}
	
	if ( function_exists( 'mb_strlen' ) )
	{
		return (mb_strlen( $str ) != $val) ? FALSE : TRUE;
	}
	
	return (strlen( $str ) != $val) ? FALSE : TRUE;
}

// --------------------------------------------------------------------


/**
 * Valid Email
 *
 * @access public
 * @param
 *        	string
 * @return bool
 */
function valid_email( $str )
{
	return (! preg_match( "/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix" , $str )) ? FALSE : TRUE;
}

// --------------------------------------------------------------------


/**
 * Valid Emails
 *
 * @access public
 * @param
 *        	string
 * @return bool
 */
function valid_emails( $str )
{
	if ( strpos( $str , ',' ) === FALSE )
	{
		return $this->valid_email( trim( $str ) );
	}
	
	foreach ( explode( ',' , $str ) as $email )
	{
		if ( trim( $email ) != '' && $this->valid_email( trim( $email ) ) === FALSE )
		{
			return FALSE;
		}
	}
	
	return TRUE;
}

/**
 * 验证手机号码
 *
 * @param string $phone
 * @return bool        	
 */
function valid_phone( $phone )
{
    if (strlen($phone) == 11) {
        //上面部分判断长度是不是11位
        $n = preg_match_all("/13[0-9]\d{8}|15[0-9]\d{8}|18[56789]\d{8}/", $phone, $array);
        if ($n && $n > 0) {
            return TRUE;
        }
    }
    return FALSE;
}

function aryGet($ary,$idx,$def=null){
    if($ary){
        if(is_array($ary)){
            if(count($ary)>$idx){
                return $ary[$idx];
            }
        }else{
            if($idx == 0){
                return $ary;
            }
        }
    }
    return $def;
}